#ifndef __DHT11_H
#define __DHT11_H
#include "stm32f1xx_hal.h"

typedef unsigned char u8;
#define DHT11_GPIO_PORT GPIOB
#define DHT11_GPIO_PIN GPIO_PIN_12

#define DHT11_LOW HAL_GPIO_WritePin(DHT11_GPIO_PORT, DHT11_GPIO_PIN, GPIO_PIN_RESET) // 输出低电平
#define DHT11_HIGH HAL_GPIO_WritePin(DHT11_GPIO_PORT, DHT11_GPIO_PIN, GPIO_PIN_SET)  // 输出高电平
#define DHT11_DQ_IN HAL_GPIO_ReadPin(DHT11_GPIO_PORT, DHT11_GPIO_PIN)                // 输入引脚状态
u8 DHT11_Read_Data(u8 *temp, u8 *humi);                                              // 读取温湿度
u8 DHT11_Read_Byte(void);                                                            // 读出一个字节
u8 DHT11_Read_Bit(void);                                                             // 读出一个位
u8 DHT11_Check(void);                                                                // 检测是否存在DHT11
void DHT11_Rst(void);                                                                // 复位DHT11
void DHT11_Strat(void);

#endif